/**
 * 目标：基于 Web 服务，开发-城市列表数据接口
 * 步骤：
 *  1. 判断 req.url 资源路径+查询字符串，路径前缀匹配/api/city
 *  2. 借助 querystring 模块的方法，格式化查询参数字符串
 *  3. 读取 city.json 城市数据，匹配省份名字下属城市列表
 *  4. 返回城市列表，启动 Web 服务测试
 */
const fs = require('fs')
const path=require('path')
const http =require('http')
const server=http.createServer()
const qs=require('querystring')

server.on('request',(req,res)=>{
    if(req.url==='/api/province'){
        fs.readFile(path.join(__dirname,'data/province.json'),(err,data)=>{
            if(err) return console.log(err)
            res.setHeader('Content-Type','application/json')
            res.end(data.toString())
        })
    }else if(req.url.startsWith('/api/city')){
      const paramStr=req.url.split('?')[1]
      const paramObj=qs.parse(paramStr)
      console.log(paramObj.pname)
      fs.readFile(path.join(__dirname,'data/city.json'),(err,data)=>{
        if(err) return console.log(err)
        const cityObj=JSON.parse(data.toString())
        const cityList=cityObj[paramObj.pname]
        res.setHeader('Content-Type','text/html;charset=utf-8')
        res.end(JSON.stringify(cityList))
      })
    }else{
        res.setHeader('Content-Type','text/html;charset=utf-8')
        res.end('找不到该资源')
    }
})

server.listen(3000,()=>{
    console.log('服务器已启动')
})